package com.boilermaker.lotterysystem.service;

import com.boilermaker.lotterysystem.controller.param.UserLoginParam;
import com.boilermaker.lotterysystem.controller.param.UserRegisterParam;
import com.boilermaker.lotterysystem.service.dto.UserInfoDTO;
import com.boilermaker.lotterysystem.service.dto.UserLoginDTO;
import com.boilermaker.lotterysystem.service.dto.UserRegisterDTO;
import com.boilermaker.lotterysystem.service.enums.UserIdentityEnum;

import java.util.List;

/**
 * 人员服务
 */
public interface UserService {

    /**
     * 注册接口
     *
     * @param param
     * @return
     */
    UserRegisterDTO register(UserRegisterParam param);

    /**
     * 登录接口
     *
     * @param param
     * @return
     */
    UserLoginDTO login(UserLoginParam param);


    /**
     * 根据身份查询人员列表
     *
     * @param identity: 受管控的身份标识，若为空则不限身份
     * @return: 列表（内部为用户的全属性）
     */
    List<UserInfoDTO> findUserInfoByIdentity(UserIdentityEnum identity);
}
